<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>

</html>
<script>
    /* 6. 加一
    给定一个由 整数 组成的 非空 数组所表示的非负整数，在该数的基础上加一。
    最高位数字存放在数组的首位， 数组中每个元素只存储单个数字。
    你可以假设除了整数 0 之外，这个整数不会以零开头。
示例 1：
    输入：digits = [1, 2, 3]
    输出：[1, 2, 4]
    解释：输入数组表示数字 123。
示例 2：
    输入：digits = [4, 3, 2, 1]
    输出：[4, 3, 2, 2]
    解释：输入数组表示数字 4321。
示例 3：
    输入：digits = [0]
    输出：[1]
 */

    var plusOne = function (digits) {
        const n = digits.length;
        for (let i = n - 1; i >= 0; --i) {
            if (digits[i] !== 9) {
                ++digits[i];
                for (let j = i + 1; j < n; ++j) {
                    digits[j] = 0;
                }
                return digits;
            }
        }

        // digits 中所有的元素均为 9
        const ans = new Array(n + 1).fill(0);
        ans[0] = 1;
        return ans;
    };
    // console.log(plusOne([9]));
</script>